home *** CD-ROM | disk | FTP | other *** search
/ OpenGL Superbible (2nd Edition) / OpenGL SuperBible e2.iso / tools / Mesa-3.0 / SRC / SPAN.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-28  |  3.6 KB  |  105 lines

  1. /* $Id: span.h,v 3.4 1998/03/28 03:57:13 brianp Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  3.0
  6.  * Copyright (C) 1995-1998  Brian Paul
  7.  *
  8.  * This library is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU Library General Public
  10.  * License as published by the Free Software Foundation; either
  11.  * version 2 of the License, or (at your option) any later version.
  12.  *
  13.  * This library is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16.  * Library General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU Library General Public
  19.  * License along with this library; if not, write to the Free
  20.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  */
  22.  
  23.  
  24. /*
  25.  * $Log: span.h,v $
  26.  * Revision 3.4  1998/03/28 03:57:13  brianp
  27.  * added CONST macro to fix IRIX compilation problems
  28.  *
  29.  * Revision 3.3  1998/02/20 04:50:44  brianp
  30.  * implemented GL_SGIS_multitexture
  31.  *
  32.  * Revision 3.2  1998/02/03 04:26:07  brianp
  33.  * removed const from lambda[] passed to gl_write_texture_span()
  34.  *
  35.  * Revision 3.1  1998/02/02 03:09:34  brianp
  36.  * added GL_LIGHT_MODEL_COLOR_CONTROL (separate specular color interpolation)
  37.  *
  38.  * Revision 3.0  1998/01/31 21:03:42  brianp
  39.  * initial rev
  40.  *
  41.  */
  42.  
  43.  
  44. #ifndef SPAN_H
  45. #define SPAN_H
  46.  
  47.  
  48. #include "types.h"
  49.  
  50.  
  51. extern void gl_write_index_span( GLcontext *ctx,
  52.                                  GLuint n, GLint x, GLint y, const GLdepth z[],
  53.                  GLuint index[], GLenum primitive );
  54.  
  55.  
  56. extern void gl_write_monoindex_span( GLcontext *ctx,
  57.                                      GLuint n, GLint x, GLint y,
  58.                                      const GLdepth z[],
  59.                      GLuint index, GLenum primitive );
  60.  
  61.  
  62. extern void gl_write_rgba_span( GLcontext *ctx,
  63.                                 GLuint n, GLint x, GLint y, const GLdepth z[],
  64.                                 GLubyte rgba[][4], GLenum primitive );
  65.  
  66.  
  67. extern void gl_write_monocolor_span( GLcontext *ctx,
  68.                                      GLuint n, GLint x, GLint y,
  69.                                      const GLdepth z[],
  70.                      GLint r, GLint g, GLint b, GLint a,
  71.                                      GLenum primitive );
  72.  
  73.  
  74. extern void gl_write_texture_span( GLcontext *ctx,
  75.                                    GLuint n, GLint x, GLint y,
  76.                                    const GLdepth z[],
  77.                    const GLfloat s[], const GLfloat t[],
  78.                                    const GLfloat u[], GLfloat lambda[],
  79.                    GLubyte rgba[][4], CONST GLubyte spec[][4],
  80.                                    GLenum primitive );
  81.  
  82.  
  83. extern void gl_write_multitexture_span( GLcontext *ctx, GLuint texSets,
  84.                                         GLuint n, GLint x, GLint y,
  85.                                         const GLdepth z[],
  86.                                         CONST GLfloat s[][MAX_WIDTH],
  87.                                         CONST GLfloat t[][MAX_WIDTH],
  88.                                         CONST GLfloat u[][MAX_WIDTH],
  89.                                         GLfloat lambda[][MAX_WIDTH],
  90.                                         GLubyte rgba[][4],
  91.                                         CONST GLubyte spec[][4],
  92.                                         GLenum primitive );
  93.  
  94.  
  95. extern void gl_read_rgba_span( GLcontext *ctx,
  96.                                GLuint n, GLint x, GLint y,
  97.                                GLubyte rgba[][4] );
  98.  
  99.  
  100. extern void gl_read_index_span( GLcontext *ctx,
  101.                                 GLuint n, GLint x, GLint y, GLuint indx[] );
  102.  
  103.  
  104. #endif
  105.